package com.zzyl.nursing.service;

import java.time.LocalDateTime;
import java.util.List;

import com.zzyl.nursing.domain.Reservation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zzyl.nursing.dto.ReservationPageDto;
import com.zzyl.nursing.vo.ReservationCountVo;
import com.zzyl.nursing.vo.ReservationPageVo;

/**
 * 预约信息Service接口
 *
 * @author alexis
 * @date 2025-06-03
 */
public interface IReservationService extends IService<Reservation> {

    void saveReservation(Reservation reservation);

    int getTodayCancelledCount(Long userId, LocalDateTime startTime, LocalDateTime endTime);

    List<ReservationCountVo> getReservationCountByTime(Long time);

    ReservationPageVo getReservationPage(ReservationPageDto reservationPageDto);

    int updateReservationById(Long id);

    void updateContractStatus();

}
